package nc.pubitf.uapbd.property;

import java.util.ArrayList;
import nc.vo.bd.property.BankaccPropertyQueryUtil;
import nc.vo.bd.property.DefaultBDPropertyQueryUtil;

public class BDPropertyQueryUtilFactory {
	public static IBDPropertyQueryUtil getBDPropertyQuery(String beanID) {
		String[] subBeanIDs = null;
		ArrayList<String> subBeanIDslist = new ArrayList<>();
		if ("40d39c26-a2b6-4f16-a018-45664cac1a1f".equals(beanID)) {
			subBeanIDslist.add("a9f9c3af-1379-42a4-bd20-e4d45e364ae2");
			subBeanIDs = subBeanIDslist.<String>toArray(new String[0]);
			String[] fixPropertyPaths = {"uap.psndoc.sex", "uap.psnjob.pk_psncl", "uap.psnjob.pk_dept"};
			return new DefaultBDPropertyQueryUtil(beanID, subBeanIDs, fixPropertyPaths);
		}
		if ("e4f48eaf-5567-4383-a370-a59cb3e8a451".equals(beanID)) {
			String[] fixPropertyPaths = {"uap.customer.pk_areacl", "uap.customer.custprop",
					"uap.customer.pk_customer_main", "uap.customer.pk_custclass", "uap.customer.ecotypesincevfive"};
			return new DefaultBDPropertyQueryUtil(beanID, subBeanIDs, fixPropertyPaths);
		}
		if ("720dcc7c-ff19-48f4-b9c5-b90906682f45".equals(beanID)) {
			String[] fixPropertyPaths = {"uap.supplier.pk_areacl", "uap.supplier.pk_supplier_main",
					"uap.supplier.pk_supplierclass", "uap.supplier.ecotypesincevfive", "uap.supplier.supprop"};
			return new DefaultBDPropertyQueryUtil(beanID, subBeanIDs, fixPropertyPaths);
		}
		if ("8c6510dd-3b8a-4cfc-a5c5-323d53c6006f".equals(beanID)) {
			String[] fixPropertyPaths = {"uap.custsupplier.pk_areacl", "uap.custsupplier.custsupprop",
					"uap.custsupplier.pk_custclass", "uap.custsupplier.pk_supplierclass"};
			return new DefaultBDPropertyQueryUtil(beanID, subBeanIDs, fixPropertyPaths);
		}
		if ("eae040f4-3c88-413d-abc9-b15774463d46".equals(beanID)) {
			String[] fixPropertyPaths = {"uap.material_v.pk_marbasclass"};
			return new DefaultBDPropertyQueryUtil(beanID, subBeanIDs, fixPropertyPaths);
		}
		if ("611652ad-177f-4d3e-9ae7-ef8f96930b78".equals(beanID)) {
			subBeanIDslist.add("cd1f9a1c-eb08-493f-88ff-bcd1c134dee1");
			subBeanIDs = subBeanIDslist.<String>toArray(new String[0]);
			String[] fixPropertyPaths = {"uap.bankaccount.pk_banktype", "uap.bankaccount.pk_bankdoc","uap.bankaccount.accattribute","uap.bankaccsub.pk_currtype","uap.bankaccsub.acctype"};
			return new BankaccPropertyQueryUtil(beanID, subBeanIDs, fixPropertyPaths);
		}
		if ("bf5aeed4-6b35-4a2e-b750-b9aabce59e21".equals(beanID)) {
			String[] fixPropertyPaths = {"uap.bankdoc.pk_banktype"};
			return new DefaultBDPropertyQueryUtil(beanID, subBeanIDs, fixPropertyPaths);
		}
		return null;
	}
}